﻿/*
 * SpatialSchemaTables
 * 
 * initial implementation : 20.9.2008
 *
 * Copyright (c) Adam Sida, asida@centrum.cz.
 * All rights reserved.
 * 
 * for license see Petra.Gis.License.txt
 */
using System;
using System.Collections.Generic;


namespace Petra.Gis.DataServices
{
  public static class SpatialSchemaTables
  {
    /// <summary>
    /// returns following data table
    /// FeatureCatalog | FeatureSchema | FeatureName
    /// no extra computations, just metadata search
    /// </summary>
    public const string Features = "FEATURES";

    /// <summary>
    /// returns following data table
    /// FeatureCatalog | FeatureSchema | FeatureName | FeatureType | FeatureTitle | Bounds
    /// where Bound is computed from all data in feature table(s), 
    /// which might have performance impact
    /// </summary>
    public const string FeaturesInfo = "FEATURES_INFO";

    /// <summary>
    /// returns following data table
    /// FeatureCatalog
    /// </summary>
    //public static readonly string Catalogs = "CATALOGS";

    /// <summary>
    /// returns following data table
    /// InternalCoordinateSystemId, CoordinateSystemInfo
    /// where CoordinateSystemInfo is string that describes coordinate system in any possible way
    /// must be parsed step by step
    /// </summary>
    public const string CoordinateSystemsInfo = "COORDINATE_SYSTEMS";

    /// <summary>
    /// returns  DataTable with following structure:
    /// FeatureName | FieldName | FieldDataType | FieldSpecificProperty | FieldApproxDataSize | FieldDescription
    /// for spatial fields FieldSpecificProperty contains CoordinateSystem.
    /// analogous to INFORMATION_SCHEMA.COLUMNS
    /// </summary>
    public const string Fields = "FIELDS";

    /// <summary>
    /// returns information about feature geometry fields and their spatial indexation methods
    /// </summary>
    public const string SpatialIndexes = "SPATIAL_INDEXES";

    /// <summary>
    /// returns data provider specific table
    /// with parameters for tile spatial index type
    /// </summary>
    public const string SpatialTileIndexesInfo = "SPATIAL_TILE_INDEXES_INFO";

    /// <summary>
    /// returns data provider specific table
    /// with parameters for quad tree spatial index type
    /// </summary>
    public const string SpatialQTreeIndexesInfo = "SPATIAL_QTREE_INDEXES_INFO";

  }
}
